package com.mx.kn.cstf2.service;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.mx.kn.cstf2.dto.ClientesSTKDto;
import com.mx.kn.cstf2.dto.CopAttachmentsDto;
import com.mx.kn.cstf2.dto.CopContactsDto;
import com.mx.kn.cstf2.dto.CopDto;
import com.mx.kn.cstf2.dto.CopWorkingInstructionsDto;
import com.mx.kn.cstf2.dto.CustomerSolutionDto;
import com.mx.kn.cstf2.dto.ExceptionCodeDto;
import com.mx.kn.cstf2.dto.KPIFieldsDto;
import com.mx.kn.cstf2.dto.UsuarioDto;

import kn.cstf2.transition.Bean.TransitionBean;

public interface CopService {
	public TransitionBean updateReportingTransition(TransitionBean transition) throws  SQLException;
	public TransitionBean updateScopeOfServiceTransition(TransitionBean transition) throws SQLException;
	public  List<CopDto> getImports(TransitionBean transition) throws SQLException;
	public void addImport(TransitionBean transition, UsuarioDto usuario, Date fecha) throws SQLException;
	public List<CopDto> getExports(TransitionBean transition) throws SQLException;
	public void addExport(TransitionBean transition, UsuarioDto usuario, Date fecha) throws SQLException;
	public void updateCop(CopDto datos) throws SQLException;
	public CopDto getForm(Integer id) throws SQLException;
	public List<CopContactsDto> getContactsList(CopDto copDto)throws SQLException;
	public ClientesSTKDto getClientInfo(Integer knkey)throws SQLException;
	public ArrayList<String> getBillingInstructions(Integer knkey) throws SQLException;
	public void addContact(CopContactsDto contact) throws SQLException;
	public void addExcetionCode(ExceptionCodeDto exception) throws SQLException;
	public List<ExceptionCodeDto> getExceptionsByIdCop(ExceptionCodeDto exception) throws SQLException;
	public CustomerSolutionDto getReports(Integer knkey) throws SQLException;
	public List<KPIFieldsDto> getKPIFields(Integer idCop) throws SQLException;
	public void updateKPIFields(KPIFieldsDto updateKPI) throws SQLException;
	public void updateKPIChecks(KPIFieldsDto updateKPI) throws SQLException;
	public void insertKPI(KPIFieldsDto insertKPI) throws SQLException;
	public List<CopWorkingInstructionsDto> getWorkInstFields(Integer tipoModulo, Integer idCop) throws SQLException;
	public List<CopWorkingInstructionsDto> getWorkInstFieldsSecCase(Integer tipoModulo) throws SQLException;
	public void updateWorkInstFields(Integer idWorkInst, String textValue, Integer idCop) throws SQLException;
	public boolean validaExistenciaCop(Integer idCop) throws SQLException;
	public void insertWorkInstFields(Integer idWorkInst, Integer idCop) throws SQLException;
	public int getconsecutiveNameFile() throws SQLException;
	public void saveNameAttachment(CopAttachmentsDto attachment)throws SQLException;
	public List<CopAttachmentsDto> getAttachmentName(CopAttachmentsDto attachment)throws SQLException;
	public void deleteAttachment(CopAttachmentsDto attachment)throws SQLException;
	public void deleteContactCop(CopContactsDto contact)throws SQLException;
	public List<CopContactsDto> getContactsListMail(long idTransition) throws SQLException;
}
